test_class.file: api/src/test/java/edu/wpi/first/shuffleboard/api/tab/model/WidgetModelImplTest.java
test_class.identifier: WidgetModelImplTest
test_case.body: @Test
    public void getGetSource() {
      DataSource<?> source = DataSource.none();
      WidgetModel widget = new WidgetModelImpl("", null, () -> source, "", Collections.emptyMap());
      assertSame(source, widget.getDataSource(), "Wrong source returned by getDataSource()");
    }
test_case.class_method_signature: WidgetModelImplTest.getGetSource()
test_case.full_signature: @Test public void getGetSource()
test_case.identifier: getGetSource
test_case.invocations: none emptyMap assertSame getDataSource
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getGetSource()
focal_class.declarator: sourceSupplier
focal_class.modifier: private final
focal_class.original_string: private final Supplier<? extends DataSource<?>> sourceSupplier;
focal_class.type: Supplier<? extends DataSource<?>>
focal_class.var_name: sourceSupplier
focal_class.file: api/src/main/java/edu/wpi/first/shuffleboard/api/tab/model/WidgetModelImpl.java
focal_class.identifier: WidgetModelImpl
focal_class.interfaces: implements WidgetModel
focal_class.class_method_signature: WidgetModelImpl.WidgetModelImpl(String path,
                    ParentModel parent,
                    Supplier<? extends DataSource<?>> sourceSupplier,
                    String displayType,
                    Map<String, Object> properties)
focal_class.full_signature:   WidgetModelImpl(String path,
                    ParentModel parent,
                    Supplier<? extends DataSource<?>> sourceSupplier,
                    String displayType,
                    Map<String, Object> properties)
focal_class.identifier: WidgetModelImpl
focal_class.parameters: (String path,
                    ParentModel parent,
                    Supplier<? extends DataSource<?>> sourceSupplier,
                    String displayType,
                    Map<String, Object> properties)
focal_class.signature:  WidgetModelImpl(String path,
                    ParentModel parent,
                    Supplier<? extends DataSource<?>> sourceSupplier,
                    String displayType,
                    Map<String, Object> properties)
focal_class.class_method_signature: WidgetModelImpl.getDataSource()
focal_class.full_signature: @Override public DataSource<?> getDataSource()
focal_class.identifier: getDataSource
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: DataSource<?>
focal_class.signature: DataSource<?> getDataSource()
focal_class.superclass: extends ComponentModelImpl
focal_method.body: @Override
    public DataSource<?> getDataSource() {
      return sourceSupplier.get();
    }
focal_method.class_method_signature: WidgetModelImpl.getDataSource()
focal_method.full_signature: @Override public DataSource<?> getDataSource()
focal_method.identifier: getDataSource
focal_method.invocations: get
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: DataSource<?>
focal_method.signature: DataSource<?> getDataSource()